Just-in-time Acceleration of JavaScript
نویسندگان
چکیده
JavaScript has seen tremendous growth in popularity driven by increasingly interactive web sites and sophisticated web interfaces. However, the performance of JavaScript continues to be a hurdle in using it for tasks that are computationally intensive, such as gaming, simulations, and visualization. JavaScript has also been slow to exploit the available parallelism on modern computers. Specifically, it is not currently easy to exploit GPGPUs within JavaScript. A part of the reason is that the low-level interface demanded for GPGPU programming is often not approachable by JavaScript programmers. In this paper, we present a novel approach that provides a mechanism to accelerate portions of JavaScript programs without requiring the programmers to learn new syntax or low-level APIs. We achieve that through an embedded DSL used to specify GPGPU computations. We have designed a JavaScript library, and an accompanying Firefox extension, that work together to compile the embedded DSL just-in-time using the LLVM backend for generating PTX. The compiled code is cached to minimize the compilation overhead. Our evaluation of the system using a micro-benchmark, two applications kernels, and an application benchmark demonstrates that our approach imposes minimal performance overhead, while providing an easy GPGPU programming interface to JavaScript programmers.
منابع مشابه
Combining thread-level speculation and just-in-time compilation in Google's V8 JavaScript engine
Thread-Level Speculation can be used to take advantage of multicore architectures for JavaScript in web applications. We extend previous studies with these main contributions; we implement Thread-Level Speculation in the state-of-the art Just-in-time enabled JavaScript engine V8 and make the measurements in the Chromium web browser both from Google instead of using an interpreted JavaScript eng...
متن کاملPrediction of Body Center of Mass Acceleration From Trunk and Lower Limb Joints Accelerations During Quiet Standing
Purpose: Predicting body Center of Mass (COM) acceleration is carried out with more accuracy based on the acceleration of three joints of lower limb compared to only accounting joints of hip and ankle. Given that trunk movement during quite standing is noticeable, calculating trunk acceleration in model might increase prediction accuracy of COM acceleration. Moreover, in previous research studi...
متن کاملPreliminary Results of Combining Thread-Level Speculation and Just-in-Time Compilation in Google’s V8
We present the first implementation of Thread-Level Speculation in combination with Just-in-time compilation. The implementation is done in Google’s V8, a well-known JavaScript engine, and evaluated on 15 popular web application executing on 2, 4, and 8 core computers. Our results show an average speedup of 1.55 on 4 cores, without any JavaScripts code modifications. Further, we have found that...
متن کاملRealtime Video Processing in Web Applications
The OpenGL ES standard is implemented in modern desktop and mobile browsers through the WebGL API. This paper explores the potential for using OpenGL ES hardware acceleration for real time video processing in standard HTML5 applications. It analyses the WebGL performance across device types and compares it with the standard JavaScript and canvas performance. Author
متن کاملEfficient Just-In-Time Execution of Dynamically Typed Languages Via Code Specialization Using Precise Runtime Type Inference
Dynamically typed languages such as JavaScript present a challenge to just-in-time compilers. In contrast to statically typed languages such as JVML, in which there are specific opcodes for common operations on primitive types (such as iadd for integer addition), all operations in dynamically typed language such as JavaScript are late-bound. Often enough, types cannot be inferred with certainty...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013